UUParser an Internet file extraction utility for the Macintosh™ By John S. Lee, © 1993,1994. UUParser takes out the header information in files that have been uuencoded and uploaded to a newsgroup. UUParser also allows you to "S"ave multiple articles from newsgroups, normally in several parts, and re-assembles them as one contiguous file ready for uudecoding. UUParser can also automatically uudecode files for you. Directory FEATURES - The funtions of UUParser. INSTRUCTIONS - Getting UUParser set up for the first session. FILE MANIPULATION (FILE MENU) - How to UUParse. PREFERENCES - Configuring UUParser. EDIT FILE TYPES - Making UUParser "SMART". SPECIAL - Special options in UUParser. REGISTRATION - How to get rid of the nasty reminder message. CREDIT - To each his/her proper due! COLD MOD STUFF - What's been changed/fixed/modified. UUParser Internals & Notes - Do's, how's, why's, where's, dont's! Upgrades - Upgrade information for registered users. Future Additions - Functions to make UUParser even better. Hints - Methods you can use to get the most out of UUParser. Features • Automatic stripping of header information from files "S"aved from a usenet newsgroup. • "Smart" uudecoding. Fully user configurable. • uuencoding of AIFF (sound) files is now supported. • uuencoding in PC, UNIX, and AIFF formats. • User control over output file location. • Join multiple text files for UUParsing & automatic decoding, from the menu OR the desktop. • Split any text file into multiple parts using the Split File function. • User configurable preferences. • Automatic scan of text files for anomalies. • Drag & Drop UUParsing supported via System 7. • Parsing/uudecoding/encoding occurs in the background. • Decodes/encodes/parses ANY SIZE FILE, regardless of memory. • Parses BinHex files (version 1.8). • The FASTEST uudecoding/encoding available for the Mac! Instructions Double-click on the application "UUParser" (Note: If this is the first time you have used UUParser or are upgrading from a previous version you MUST set the Target Directory!) Select Set Target Directory from the Special menu so that UUParser knows where to put the output files. This directory will also be used as the defualt for placement of decoded files. (see note above) Select Auto UUDecode from the SPECIAL menu if you want to automatically uudecode the parsed files. Select UUParse or UUParse Several from the FILE menu. Select the file you want to parse. Choose another file or CANCEL (cmd .). If you did not choose to Auto UUdecode your file you can uudecode it using UUDecode from the FILE menu. DRAG & DROP Select the documents you want to parse and drag them to the UUParser icon. The application will start and the files will be parsed, decoded and placed in you target directory. *Holding down the Command key will automatically join the files! *Selecting "Drag&Drp then Quit" in the Preferences will tell UUParser to Quit after the drag & drop operation is complete. File Manipulation UUParse/UUParse Several Opens files(s) for parsing. Parse BinHex File Parses a file that contains BinHex data. This function is enabled when your copy of UUParser is registered. Join Files Takes any number of files parses them and concatentates them. Choose the first file to join. Subsequent selections are attached to the first file. Parse the file and it's ready to uudecode. Split File Takes a file and seperates it into sections of 200-2000 lines each. Each can then be uploaded to a newsgroup in succession for someone to retrieve and re-assemble. This feature AUTOMATICALLY installs BEGIN/END cut lines in each of the files it generates. uudecode (smart) uudecodes file(s) that has been parsed. Before decoding it determines, by parameters you set (see Set File Types), what type of file type it should have. Once decoded it appears on the desktop as a document of the application you specify. uuencode (configurable) uuencodes a file. UUParser can encode items in PC/MS-DOS, UNIX, AIFF->Linear (for sound), and AIFF->ULAW (for sound). UUParser will also give create a filename in the proper format for the encoding scheme chosen (i.e. if you chose MS-DOS the filename will be 8chars.ext.; UNIX will have all whitespace replaced by "_"). The default scheme is UNIX, but you can change it from the MENU Encode Options, or in the Preferences dialog box. If Mac is chosen the scheme will use the UNIX encoding, but use the Macintosh conventions for the filename. Edit File Types This function allows you to select a string that UUParser will use to set the file's type and creator (so that they are recognized by the Finder and your favorite application(s). You select it from the Edit menu. You enter the file suffix along with the file type and creator associated with the file. You are allowed 10 entries. Many of them are already set up for you. (example file.jpg: file suffix: .jpg file type : JIFF file creator : JVWR This sample shows that any file that is decoded that has the ".jpg" extension in the filename will be set to the JPEGViewer file type. This allows JPEGView to open the file directly from the finder without first "fixing" the file.) The file suffix can be in upper/lower/mixed case. UUParser will correctly set the type/creator! Preferences Default values are enclosed in "[]". Memory: Disk based parsing [ON] Read a file using the availble memory. Use this option if you are trying to parse a file that is larger than the available memory (i.e a 900k file, and UUParser has a 640k partition). File Control: Delete source file [OFF] Delete the soruce file once the scanning/parsing process has been done. Delete .uu file [OFF] Delete the intermediate (filename.uu) file once the scanning/parsing process 4& done. At times, you may want to keep this file for debugging purposes. Show status [ON] Show progess indicator, just to let you know how much of the file has been scanned/parsed. SCAN file [ON] Check each character in the file to amke sure it is an ascii "printable" character. Prevents bad data (from a bad transmission or poor line conditions) from being interpreted by the uudecoding function. Encoding: PC - Uses pc-encoding. Use this option when dealing with those, er, MS-DOS machines. Common encoding method used in usenet newsgroups. UNIX [ON]- Uses standard uuencode technology. This one accepted standard on Usenet Newsgroups. This is the default setting. MAC - Uses the UNIX standard of encoding BUT uses the Macintosh filenaming convention (anything goes except ":"). This version of UUParser is not intended to be used for encoding of applications, just documents and data files. Therefore there is no guarantee that if you encode an app that you will be able to get it back (since UUParser ONLY encodes the data portion of files!). AIFF->ULAW - Convert AIFF file to ULAW format (useful when transferring sounds to Sun or NeXT workstations. AIFF->Linear - Convert AIFF file to Macintosh Linear format. File Splitting: Set the UNIX read/write permissions (100-888) [644]. Set the lines/segment for the file that you wish to split [900]. Display: Show line/byte info [YES]. Used for debugging purposes. Indicates the actual number of lines and bytes read from the selected file. Alerts: Show Minor Problems [NO]. Displays errors concerning line length. Also warns of non- contiguous files (i.e. 'begin' found before and 'end'). Usually does not affect parsing/decoding. Misc: Auto-SAVE [YES]. Will automatically save parsed files and decode them immediately after parsing has completed successfully. They are written to the target directory specified by the user. Set this option to ON and set the Auto UUDecode to ON if you would like to join, parse, and decode. Drag&Drop then Quit [NO] Tells UUParser to quit after parsing/decoding/etc. has been performed on files that have been Dragged & Dropped onto the UUParser icon. The OK button makes the changes for the session only. No changes are saved to the prefs file. The SAVE button writes the changes to the prefs file. The Cancel button discard all changes. The Default Settings button sets the preferences to the default values outlines above. Special Scan Only The SCAN ONLY disables all parsing/decoding functionality and scans the files for non-printable characters. If it finds these characters it issues a warning with what it found. Auto UUDecode This function allows automatic uudecoding of files that have been parsed. By default this option is ON. While this function is enabled UUParsing & uudecoding occur in one pass. The files are placed in your Target Directory (see below). Set Target Directory NOTE:When using UUParser for the first time you MUST set the target directory. This is where all your UUParsed files will go! If it is not set, UUParser will put the files in it's home directory OR the desktop! Set target directory lets UUParser know where to put your file once it has been parsed. This is also handy because that directory will be the first one looked into when the Auto UUDecode option has been chosen. Making the process of parsing/decoding truly one step and painless. Cold Mod Stuff An abbreviated, but accurate history: (Version 0.9) Initial Coding (Version 0.9b) Added multiple-file parsing additional conditions for parsing (Version 1.0) Added faster parsing. Better memory management parsing in memory. (Version 1.1) Added uudecoding w/ automatic file type/creator setting. (Version 1.1f) Better error detection of files that have no "end" markers. Added Join Files capability. (Version 1.2) Added multiple-file drag-drop parsing functionality. Data errors are not reported on a byte/byte basis, just once. Parsing process is speeded up ten-fold. Operates on a 100k file in 1.5 secs (as tested on a IIsi w/o math). uudecode speeded up. Create versions of UUParser for each type of platform: 1.2 -> for all macs 68000 and up 1.2(020) -> for macs w 68020/68030/68040 w/o math co. 1.2(020/881) -> all macs w/ 020/030/040 & math co. (Version 1.3) Added uuengine technology. Background processing when uudecoding. UUdecode/encode window is now movable. Have the option of continuing when disk errors occurs. (previously it exited the program!). Can now select target directory for uudecoded files. (Version 1.5) Added configurable uuencoding, smart uudecoding, selection of automatic type/creator, splitting of files, selection of encoding scheme from menu, setting of target directory for UUParsed files, multiple file selection when decoding. Auto-Decode automatically set to "ON". Universal code now compatible with ALL Macintoshes (running sys 7). (Version 1.7) Better memory management. UUParser can parse large files regardless of the amount of memory available to the application. UUParser can parse in the background. UUParser now notifies you when parsing has completed (when running in the background). You can have UUParser rename the files in upper case. During Drag & Drop, if you hold down the COMMAND key, UUParser will automatically Join the files for you. (Version 1.71) Allows parsing of files irregardless of amount of memory. Decreased the allocated memory size to 384k. (Version 1.71c) Allows parsing of files irregardless of amount of memory. Fixed file locking problems,and problems with joining from the finder. (Version 1.72) First registered users version. Removed memory restrictions for joining. Fixed file locking problem during abort. (Version 1.72a)Disk based version. Requires no additional memory † join files. Fixed file locking problems,and problems with joining from the finder. Integrated changes into version 1.72 (1.72 is now shareware as of 5/94). (Version 1.8) Added binhex file parsing. * 1.72 is the shareware version until further notice. UUParser Internals & Notes UUParser stores the preferences info in the UUP Prefs file in the Preferences folder in your System Folder. The Prefs consists of UUParser parsing options, encoding prefs, and target directory info. The file suffix parms that make UUParser "smart" are stored in the AtTr & STR# resources. Because UUParser makes certain assumtions about these files you should not change them directly! If you do UUParser will not work properly or at all. If you have to make changes, use UUParser's Preferences from the File menu to do so! If you have a previous version of UUParser (0.9-1.2) you may get a disk error when the program is started. This is becuase the Prefs file format is different in 1.7 than in previous versions. Dont worry. Just hit the continue button, set up your preferences, choose a target directory and the problem will be corrected (be sure to SAVE your prefs). I wanted to make UUParser useful for systems 6 & 7. Since system 7 has so many niceities when it comes to file handling I decided that version 1.7 and up would be reliant on system 7 for proper usage. Some items may not work properly if you are not using system 7. The "use 20 times and pay" policy was my idea of fair. Most shareware programs have a 30 days policy, but I figured that after a certain amount of uses you would get a good idea as to UUParsers worth. 20 was the number I came up with. Why did I mention this? To once again encourage you to use it, and pay for it once you have used it 20 times. There will be upgrades and additions that you will get ONLY if you are registered. When you register, the NOT REGISTERED message is removed. Upgrades To keep things simple, cheap, and virtual, I will e-mail all upgrades to UUParser's registered owners. To upgrade thru the mail (available to registered uses ONLY): $15 w/ SASE $10 w/ SASE + DISK Future Additions UUParser was originally designed to do one thing, parse files. Now it has many features and additions that extends that basic funtion. It is now a full fledged uudecoder/uuencoder, file splitter, and text file verifier. But the fans, and registered users of UUParser have asked for even more, and I am more than happy to include these additions for UUParser users. The next major release will be 2.0. There may be intermediate versions until 2.0, but these will concentrate on mods to version 1.5 technology. Version 2.0 will be avaialble to registered users only. Version 2.0 will include: •Control over parsing parameters. •A more versatile join function. •Encode/decode Mac apps. •Binhex encode/decode. ...and LOTS more! Hints • To save time if you have multiple files "Join" them into one file, then parse the joined file. If Auto-UUDecode is on ALL of the files will be decoded and placed in your Target Directory. Make sure you allocate enough memory for this operation. If you use set Auto-SAVE in your preferences, the joined file will automatically be parsed and decoded (if you checked the "Auto UUDecode" from the Special menu). • If you get -1 disk errors while decoding it means that the file is corrupt. Some people have trouble sending files to newsgroups. You can attempt to fix the file with a text editor or try another file. • Disk errors that occur when the program is loading are most likely due to an error UUP Prefs file. You should be able to continue. Reset your preferences, set your target directory, and save the changes. This will correct the file. If it does not work, delete the prefs file and re-start UUParser (the file is in "System Folder: Preferences:UUP Prefs"). • If you get disk errors while UUParsing or uudecoding they are most likely due to the target directory not being set. Remember to set up your Target Directory when you use UUParser for the first time. The changes are saved to the preferences file. • Some people do not put cut lines in their files. Instead they use line breaks, or worse yet, blank lines. There really is no universal rule about posting to a newgroup. If you have problems with a file check it out with a text editor, delete the offending lines, UUParse the file again,and re-attempt decoding. If this does not work the file is probably bad. • Remember when Joining, the files must be in the right order if you are planning to parse/decode them. Take great care in the join process. • I am always looking for ways to improve this product. If you have any ideas as to what you'd like to see UUParser do, that it does currently not do, or just changes you'd like to see, don't be shy. E-mail me with your suggestion. I will get back to you asap. Registration UUParser is SHAREWARE. Use it 20 times. If you like it, register it by sending $25.00 (US funds) to: John S. Lee 1600 Fell St. #210 San Francisco, CA. 94117 e-mail (for bug reports, enhancement requests, and questions): Internet-> jsl@netcom.com AOL -> JSLee By registering you are entitled to updates of UUParser as they become available. This HELP document does not replace the documentation. Read it for additional technical information about UUParser. THANKS for using UUParser! Credits Programming/Design: John S. Lee Testing : Mike Baranowski & Brian K. Tanaka Support : Arlene G. Lee & Sultan I. Lee uu-engine software : B. Wieser & Octavian Micro Development Documentation : Mike Baranowski & John S. Lee uudecode info : Peter Honeyman, Robert Perlberg, and Tim Rose Help Dialog Utility : James W. Walker Special Props : Brian K. Tanaka for the ever consistent "You know, it would be even better if..." & "You know what you oughta add is..." Mike Baranowski for the ever present "Is there a way of..." & "...can you add this one other mod...". B. Wieser for user interface suggestions. To ALL of them for the many ideas that makes UUParser useful and fun to use. uu-engine Copyright 1991 by B. Wieser and Octavian Micro Development. Macintosh™ is a registered trademark of Apple Computer, Inc. UNIX™ is a registered trademark of AT&T Information Systems. Legal note: Use the software at your own risk. I am not responsible for lost data. The program has been tested as best it could be. I make no other warranties, either expressed or implied. UUParser is Copyright 1993,1994 by John S. Lee & Truly Mac, Inc. All Rights Reserved.